home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Pascal Super Library
/
Pascal Super Library (CW International)(1997).bin
/
LIBRARY
/
PASCALL
/
TEMPJUNK
/
FORMGRPH.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1993-01-20
|
2KB
|
91 lines
program formgrph;
uses
crt,graph;
const
pause:word=0;
procedure setupgraph;
var
graphdriver,graphmode:integer;
begin
graphdriver:=mcga;
graphmode:=mcgahi;
initgraph(graphdriver,graphmode,'c:\tp\bgi');
if graphresult<>grOk then halt;
cleardevice;
end;
procedure done;
begin
restorecrtmode;
halt;
end;
procedure paint(var t,tmax:longint; var xsize,ysize,dertx,derty:real);
var
i:longint;
function yfunc(csize:real;t:longint):integer;
var
temp:real;
begin
temp:=trunc(csize*sin(t/100));
yfunc:=round(temp);
end;
function xfunc(csize:real;t:longint):integer;
var
temp:real;
begin
temp:=trunc(csize*cos(t/100));
xfunc:=round(temp);
end;
begin
for i:= t to t+tmax do
begin
putpixel(xfunc(xsize,i)+320,yfunc(ysize,i)+240,white);
xsize:=xsize+dertx; ysize:=ysize+derty;
if keypressed then done;
end;
t:=t+tmax;
end;
procedure setupfornext(var tmax:longint; var OnesizeforX,OnesizeforY,AnothersizforX,AnothersizeforY,dertx,derty:real);
begin
tmax:=random(628);
OnesizeforX:=random(320); OnesizeforY:=random(240);
dertx:=(OnesizeforX-AnothersizeforY)/tmax; derty:=(OnesizeforY-AnothersizeforY)/tmax;
end;
procedure control(tmax:longint; x1size,y1size:real);
var
t:longint;
xsize,ysize:real;
x2size,y2size:real;
dertx,derty:real;
begin
t:=0;
xsize:=0; ysize:=0;
setupgraph;
repeat
setupfornext(tmax,x2size,y2size,x1size,y1size,dertx,derty);
paint(t,tmax,xsize,ysize,dertx,derty);
{ delay(pause);}
setupfornext(tmax,x1size,y1size,x2size,y2size,dertx,derty);
paint(t,tmax,xsize,ysize,dertx,derty);
{ pause:=random(500);}
until keypressed;
done;
end;
begin
randomize;
control(random(628),random(320),random(240));
end.